package edu.zut.cs.javaee.manager.score.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.ExampleMatcher;
import org.springframework.data.domain.ExampleMatcher.GenericPropertyMatchers;
import org.springframework.data.domain.ExampleMatcher.StringMatcher;
import org.springframework.stereotype.Service;

import edu.zut.cs.javaee.manager.base.service.impl.GenericManagerImpl;
import edu.zut.cs.javaee.manager.score.dao.ScoreDao;
import edu.zut.cs.javaee.manager.score.domain.Score;
import edu.zut.cs.javaee.manager.score.service.ScoreManager;

@Service(value="scoreManager")
public class ScoreManagerimpl extends GenericManagerImpl<Score,Long> implements ScoreManager{

	ScoreDao  scoreDao;
	 /**
	  * 
	  * @param scoreDao
	  */
	@Autowired
	public void setScoreDao(ScoreDao scoreDao) {
		this.scoreDao = scoreDao;
		this.dao=this.scoreDao;
	}
	@Override
	public List<Score> findByName(String name) {
		Score querydepart=new Score();
		querydepart.setScore_cname(name);
		ExampleMatcher matcher = ExampleMatcher.matching() // 构建对象
				.withStringMatcher(StringMatcher.CONTAINING) // 改变默认字符串匹配方式：模糊查询
				.withMatcher("name", GenericPropertyMatchers.contains()) //采用“开始匹配”的方式查询
				.withIgnorePaths("dateCreated", "dateModified"); // 忽略属性：是否关注。因为是基本类型，需要忽略掉
		// 创建实例并查询
		Example<Score> ex = Example.of(querydepart, matcher);
		List<Score> result=this.scoreDao.findAll(ex);
		return result;
	}
	
	 
	 
}
